package org.mathcloud.math.core.generic.quantity;

import org.mathcloud.math.core.common.operator.QuantityObjectOperation;
import org.mathcloud.math.core.common.quantity.RealNumber;
import org.mathcloud.math.core.common.signature.QuantityObjectSignature;
import org.mathcloud.math.core.generic.operator.GenericQuantityObjectOperation;
import org.mathcloud.math.core.generic.signature.GenericQuantityObjectSignature;

public class GenericRealNumber implements RealNumber
{
  public GenericRealNumber()
  {
    value=0.0;
    operation = new GenericQuantityObjectOperation(this);
    signature = GenericQuantityObjectSignature.getRealNumberSignature(); 
  }
  public GenericRealNumber(double in)
  {
    value = in;
    operation = new GenericQuantityObjectOperation(this);
    signature = GenericQuantityObjectSignature.getRealNumberSignature();
  }


	@Override
	public QuantityObjectOperation getOperation()
	{
		// TODO Auto-generated method stub
		return operation;
	}

	@Override
	public QuantityObjectSignature getSignature()
	{
		// TODO Auto-generated method stub
		return signature;
	}

	@Override
	public Double getValue()
	{
		// TODO Auto-generated method stub
    return value;
	}
	
  public void setValue(double in)
  {
    value = in;
  }

	
	private double value;
  protected GenericQuantityObjectOperation operation;
  protected QuantityObjectSignature signature;    
}
